package com.qpkj.oms.mapper;

import java.util.List;

import com.qpkj.oms.domain.OmsContract;
import com.qpkj.oms.domain.OmsProduct;
import com.qpkj.oms.result.ProductResult;

/**
 * 物料Mapper接口
 *
 * @author ruoyi
 * @date 2022-12-20
 */
public interface OmsProductMapper {
    /**
     * 查询物料
     *
     * @param productId 物料主键
     * @return 物料
     */
    public OmsProduct selectOmsProductByProductId(Long productId);

    /**
     * 查询物料
     *
     * @param productNo 物料编号
     * @return 物料
     */
    public OmsProduct selectOmsProductByProductNo(String productNo);
    /**
     * 查询物料
     *
     * @param productName 物料编号
     * @return 物料
     */
    public OmsProduct selectProductByName(String productName);

    /**
     * 查询物料列表
     *
     * @param omsProduct 物料
     * @return 物料集合
     */
    public List<OmsProduct> selectOmsProductList(OmsProduct omsProduct);

    /**
     * 新增物料
     *
     * @param omsProduct 物料
     * @return 结果
     */
    public int insertOmsProduct(OmsProduct omsProduct);
    /**
     * 校验物料编号是否唯一
     *
     * @param productNo 合同编号
     * @return 结果
     */
    public OmsProduct checkomsProductNoUnique(String productNo);
    /**
     * 修改物料
     *
     * @param omsProduct 物料
     * @return 结果
     */
    public int updateOmsProduct(OmsProduct omsProduct);

    /**
     * 删除物料
     *
     * @param productId 物料主键
     * @return 结果
     */
    public int deleteOmsProductByProductId(Long productId);

    /**
     * 批量删除物料
     *
     * @param productIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOmsProductByProductIds(Long[] productIds);

    /**
     * 查询库存预警数
     * @return
     */
    public int queryWaringCount();
}
